<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE FlexibleInstances #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE PatternGuards #-}</span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span class="hs-comment">-- | A type class 'ModSubst' for objects which can have 'ModuleSubst'</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- applied to them.</span><span>
</span><span id="line-6"></span><span class="hs-comment">--</span><span>
</span><span id="line-7"></span><span class="hs-comment">-- See also &lt;https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst&gt;</span><span>
</span><span id="line-8"></span><span>
</span><span id="line-9"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.Backpack.ModSubst</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-10"></span><span>    </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier">ModSubst</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-11"></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-12"></span><span>
</span><span id="line-13"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-14"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span> </span><span class="hs-keyword">hiding</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Real.html#mod"><span class="hs-identifier">mod</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-15"></span><span>
</span><span id="line-16"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Backpack.html"><span class="hs-identifier">Distribution.Backpack</span></a></span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.ModuleName.html"><span class="hs-identifier">Distribution.ModuleName</span></a></span><span>
</span><span id="line-18"></span><span>
</span><span id="line-19"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../containers/src/Data.Map.html#"><span class="hs-identifier">Data.Map</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Map</span></span><span>
</span><span id="line-20"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.html#"><span class="hs-identifier">Data.Set</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Set</span></span><span>
</span><span id="line-21"></span><span>
</span><span id="line-22"></span><span class="hs-comment">-- | Applying module substitutions to semantic objects.</span><span>
</span><span id="line-23"></span><span class="hs-keyword">class</span><span> </span><span id="ModSubst"><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier hs-var">ModSubst</span></a></span></span><span> </span><span id="local-6989586621679656166"><span class="annot"><a href="#local-6989586621679656166"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-24"></span><span>    </span><span class="hs-comment">-- In notation, substitution is postfix, which implies</span><span>
</span><span id="line-25"></span><span>    </span><span class="hs-comment">-- putting it on the right hand side, but for partial</span><span>
</span><span id="line-26"></span><span>    </span><span class="hs-comment">-- application it's more convenient to have it on the left</span><span>
</span><span id="line-27"></span><span>    </span><span class="hs-comment">-- hand side.</span><span>
</span><span id="line-28"></span><span>    </span><span id="modSubst"><span class="annot"><a href="Distribution.Backpack.ModSubst.html#modSubst"><span class="hs-identifier hs-type">modSubst</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Backpack.html#OpenModuleSubst"><span class="hs-identifier hs-type">OpenModuleSubst</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679656166"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679656166"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-29"></span><span>
</span><span id="line-30"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier hs-type">ModSubst</span></a></span><span> </span><span class="annot"><a href="Distribution.Backpack.html#OpenModule"><span class="hs-identifier hs-type">OpenModule</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-31"></span><span>    </span><span id="local-6989586621679656132"><span class="annot"><span class="annottext">modSubst :: OpenModuleSubst -&gt; OpenModule -&gt; OpenModule
</span><a href="#local-6989586621679656132"><span class="hs-identifier hs-var hs-var hs-var hs-var">modSubst</span></a></span></span><span> </span><span id="local-6989586621679656131"><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656131"><span class="hs-identifier hs-var">subst</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Backpack.html#OpenModule"><span class="hs-identifier hs-type">OpenModule</span></a></span><span> </span><span id="local-6989586621679656129"><span class="annot"><span class="annottext">OpenUnitId
</span><a href="#local-6989586621679656129"><span class="hs-identifier hs-var">cid</span></a></span></span><span> </span><span id="local-6989586621679656128"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679656128"><span class="hs-identifier hs-var">mod_name</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">OpenUnitId -&gt; ModuleName -&gt; OpenModule
</span><a href="Distribution.Backpack.html#OpenModule"><span class="hs-identifier hs-var">OpenModule</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">OpenModuleSubst -&gt; OpenUnitId -&gt; OpenUnitId
forall a. ModSubst a =&gt; OpenModuleSubst -&gt; a -&gt; a
</span><a href="Distribution.Backpack.ModSubst.html#modSubst"><span class="hs-identifier hs-var">modSubst</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656131"><span class="hs-identifier hs-var">subst</span></a></span><span> </span><span class="annot"><span class="annottext">OpenUnitId
</span><a href="#local-6989586621679656129"><span class="hs-identifier hs-var">cid</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679656128"><span class="hs-identifier hs-var">mod_name</span></a></span><span>
</span><span id="line-32"></span><span>    </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#modSubst"><span class="hs-identifier hs-var">modSubst</span></a></span><span> </span><span id="local-6989586621679656127"><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656127"><span class="hs-identifier hs-var">subst</span></a></span></span><span> </span><span id="local-6989586621679656126"><span class="annot"><span class="annottext">mod :: OpenModule
</span><a href="#local-6989586621679656126"><span class="hs-identifier hs-var">mod</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Backpack.html#OpenModuleVar"><span class="hs-identifier hs-type">OpenModuleVar</span></a></span><span> </span><span id="local-6989586621679656124"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679656124"><span class="hs-identifier hs-var">mod_name</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-33"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679656123"><span class="annot"><span class="annottext">OpenModule
</span><a href="#local-6989586621679656123"><span class="hs-identifier hs-var">mod'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; OpenModuleSubst -&gt; Maybe OpenModule
forall k a. Ord k =&gt; k -&gt; Map k a -&gt; Maybe a
</span><a href="../../containers/src/Data.Map.Internal.html#lookup"><span class="hs-identifier hs-var">Map.lookup</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679656124"><span class="hs-identifier hs-var">mod_name</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656127"><span class="hs-identifier hs-var">subst</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">OpenModule
</span><a href="#local-6989586621679656123"><span class="hs-identifier hs-var">mod'</span></a></span><span>
</span><span id="line-34"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">OpenModule
</span><a href="#local-6989586621679656126"><span class="hs-identifier hs-var">mod</span></a></span><span>
</span><span id="line-35"></span><span>
</span><span id="line-36"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier hs-type">ModSubst</span></a></span><span> </span><span class="annot"><a href="Distribution.Backpack.html#OpenUnitId"><span class="hs-identifier hs-type">OpenUnitId</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-37"></span><span>    </span><span id="local-6989586621679656117"><span class="annot"><span class="annottext">modSubst :: OpenModuleSubst -&gt; OpenUnitId -&gt; OpenUnitId
</span><a href="#local-6989586621679656117"><span class="hs-identifier hs-var hs-var hs-var hs-var">modSubst</span></a></span></span><span> </span><span id="local-6989586621679656116"><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656116"><span class="hs-identifier hs-var">subst</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Backpack.html#IndefFullUnitId"><span class="hs-identifier hs-type">IndefFullUnitId</span></a></span><span> </span><span id="local-6989586621679656114"><span class="annot"><span class="annottext">ComponentId
</span><a href="#local-6989586621679656114"><span class="hs-identifier hs-var">cid</span></a></span></span><span> </span><span id="local-6989586621679656113"><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656113"><span class="hs-identifier hs-var">insts</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ComponentId -&gt; OpenModuleSubst -&gt; OpenUnitId
</span><a href="Distribution.Backpack.html#IndefFullUnitId"><span class="hs-identifier hs-var">IndefFullUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentId
</span><a href="#local-6989586621679656114"><span class="hs-identifier hs-var">cid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">OpenModuleSubst -&gt; OpenModuleSubst -&gt; OpenModuleSubst
forall a. ModSubst a =&gt; OpenModuleSubst -&gt; a -&gt; a
</span><a href="Distribution.Backpack.ModSubst.html#modSubst"><span class="hs-identifier hs-var">modSubst</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656116"><span class="hs-identifier hs-var">subst</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656113"><span class="hs-identifier hs-var">insts</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-38"></span><span>    </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#modSubst"><span class="hs-identifier hs-var">modSubst</span></a></span><span> </span><span id="local-6989586621679656112"><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656112"><span class="hs-identifier hs-var">_subst</span></a></span></span><span> </span><span id="local-6989586621679656111"><span class="annot"><span class="annottext">OpenUnitId
</span><a href="#local-6989586621679656111"><span class="hs-identifier hs-var">uid</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">OpenUnitId
</span><a href="#local-6989586621679656111"><span class="hs-identifier hs-var">uid</span></a></span><span>
</span><span id="line-39"></span><span>
</span><span id="line-40"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier hs-type">ModSubst</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="Distribution.ModuleName.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-41"></span><span>    </span><span id="local-6989586621679656106"><span class="annot"><span class="annottext">modSubst :: OpenModuleSubst -&gt; Set ModuleName -&gt; Set ModuleName
</span><a href="#local-6989586621679656106"><span class="hs-identifier hs-var hs-var hs-var hs-var">modSubst</span></a></span></span><span> </span><span id="local-6989586621679656105"><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656105"><span class="hs-identifier hs-var">subst</span></a></span></span><span> </span><span id="local-6989586621679656104"><span class="annot"><span class="annottext">Set ModuleName
</span><a href="#local-6989586621679656104"><span class="hs-identifier hs-var">reqs</span></a></span></span><span>
</span><span id="line-42"></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Set ModuleName -&gt; Set ModuleName -&gt; Set ModuleName
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#union"><span class="hs-identifier hs-var">Set.union</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Set ModuleName -&gt; Set ModuleName -&gt; Set ModuleName
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#difference"><span class="hs-identifier hs-var">Set.difference</span></a></span><span> </span><span class="annot"><span class="annottext">Set ModuleName
</span><a href="#local-6989586621679656104"><span class="hs-identifier hs-var">reqs</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">OpenModuleSubst -&gt; Set ModuleName
forall k a. Map k a -&gt; Set k
</span><a href="../../containers/src/Data.Map.Internal.html#keysSet"><span class="hs-identifier hs-var">Map.keysSet</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656105"><span class="hs-identifier hs-var">subst</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-43"></span><span>                    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">OpenModuleSubst -&gt; Set ModuleName
</span><a href="Distribution.Backpack.html#openModuleSubstFreeHoles"><span class="hs-identifier hs-var">openModuleSubstFreeHoles</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656105"><span class="hs-identifier hs-var">subst</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-44"></span><span>
</span><span id="line-45"></span><span class="hs-comment">-- Substitutions are functorial.  NB: this means that</span><span>
</span><span id="line-46"></span><span class="hs-comment">-- there is an @instance 'ModSubst' 'ModuleSubst'@!</span><span>
</span><span id="line-47"></span><span id="local-6989586621679656159"><span id="local-6989586621679656160"><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier hs-type">ModSubst</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679656160"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier hs-type">ModSubst</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../containers/src/Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679656159"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679656160"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-48"></span><span>    </span><span id="local-6989586621679656094"><span class="annot"><span class="annottext">modSubst :: OpenModuleSubst -&gt; Map k a -&gt; Map k a
</span><a href="#local-6989586621679656094"><span class="hs-identifier hs-var hs-var hs-var hs-var">modSubst</span></a></span></span><span> </span><span id="local-6989586621679656093"><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656093"><span class="hs-identifier hs-var">subst</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; a) -&gt; Map k a -&gt; Map k a
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">OpenModuleSubst -&gt; a -&gt; a
forall a. ModSubst a =&gt; OpenModuleSubst -&gt; a -&gt; a
</span><a href="Distribution.Backpack.ModSubst.html#modSubst"><span class="hs-identifier hs-var">modSubst</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656093"><span class="hs-identifier hs-var">subst</span></a></span><span class="hs-special">)</span></span></span><span>
</span><span id="line-49"></span><span id="local-6989586621679656146"><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier hs-type">ModSubst</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679656146"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier hs-type">ModSubst</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679656146"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-50"></span><span>    </span><span id="local-6989586621679656086"><span class="annot"><span class="annottext">modSubst :: OpenModuleSubst -&gt; [a] -&gt; [a]
</span><a href="#local-6989586621679656086"><span class="hs-identifier hs-var hs-var hs-var hs-var">modSubst</span></a></span></span><span> </span><span id="local-6989586621679656085"><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656085"><span class="hs-identifier hs-var">subst</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; a) -&gt; [a] -&gt; [a]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">OpenModuleSubst -&gt; a -&gt; a
forall a. ModSubst a =&gt; OpenModuleSubst -&gt; a -&gt; a
</span><a href="Distribution.Backpack.ModSubst.html#modSubst"><span class="hs-identifier hs-var">modSubst</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656085"><span class="hs-identifier hs-var">subst</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-51"></span><span id="local-6989586621679656142"><span id="local-6989586621679656143"><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier hs-type">ModSubst</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679656143"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModSubst.html#ModSubst"><span class="hs-identifier hs-type">ModSubst</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679656142"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679656143"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-52"></span><span>    </span><span id="local-6989586621679656080"><span class="annot"><span class="annottext">modSubst :: OpenModuleSubst -&gt; (k, a) -&gt; (k, a)
</span><a href="#local-6989586621679656080"><span class="hs-identifier hs-var hs-var hs-var hs-var">modSubst</span></a></span></span><span> </span><span id="local-6989586621679656079"><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656079"><span class="hs-identifier hs-var">subst</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679656078"><span class="annot"><span class="annottext">k
</span><a href="#local-6989586621679656078"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679656077"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679656077"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">k
</span><a href="#local-6989586621679656078"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">OpenModuleSubst -&gt; a -&gt; a
forall a. ModSubst a =&gt; OpenModuleSubst -&gt; a -&gt; a
</span><a href="Distribution.Backpack.ModSubst.html#modSubst"><span class="hs-identifier hs-var">modSubst</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModuleSubst
</span><a href="#local-6989586621679656079"><span class="hs-identifier hs-var">subst</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679656077"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span></span></span><span>
</span><span id="line-53"></span></pre></body></html>